development dance jazz music tap electronic licensing dancing java tools music classic blogfa software development blues java http java software development license distribution copy protection databases digital rights management ballet object oriented